home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 40
/
Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso
/
Aminet
/
docs
/
mags
/
saku34d2.lha
/
Teksti
/
SDK.txt
< prev
next >
Wrap
Text File
|
2000-10-17
|
32KB
|
716 lines
14
1
-1 SDK_Kaytossa.IFF 0 0
0 SDK_Kaytossa.IFF 120 70
2 SDK.IFF 239 70
6 Setup.IFF 240 146
10 Elate.IFF 10 0
11 Manuals.IFF 240 70
17 Jove.IFF 34 74
18 Start.IFF 444 0
19 Ohjelmia.IFF 8 0*
{F Amiga Software Development Kit 1.0
{F ----------------------------------
Janne Sirén
Valokuvat: Anu Seilonen
Uusi Amiga Inc. julkaisi ensimmäisen tuotteensa, Amiga SDK:n, keväällä. Kyseessä
on uuden Amiga-käyttöjärjestelmän perusta ja alustava kehitysympäristö. Tutus-
tuimme sen tarjontaan ja esittelimme sitä suomalaisille amigisteille kokoukses-
samme syyskuussa. Kerromme nyt kokemuksistamme, annamme vinkkejä asennusongel-
miin ja raotamme verhoa seuraavan sukupolven Amigan pukuhuoneeseen...
{FSDK Suomeen
{F-----------
Suomen Amiga-käyttäjät ry. on kunnostautunut viime vuosina tuomalla Suomessa
esille monenlaista maailmalla nähtyä Amiga-uutuutta. Viimeisimpinä muistetaan
AmigaOS 3.5, ja olisihan se Amiga MCC:n kotelomallikin saapunut Petro Tyschtsc-
henkon mukana, ellei hän olisi joutunut perumaan Saku 99 -vierailuaan. Kun sit-
ten Amigan uusin inkarnaatio sai keväällä putkautettua ulos ensimmäisen uuden
tuotteen, Amiga Software Development Kitin eli lyhyemmin SDK:n, heräsi luonnol-
lisesti uteliaisuutemme esitellä sitä Suomen amigisteille.
Tällä kertaa Amiga Inc.:stä ei valitettavasti ollut apua, sillä he ilmoittivat,
etteivät toistaiseksi lainaa SDK:ta esittelykäyttöön (tai muutenkaan lainaa).
Vuosikokous olisi mukava paikka esitellä uutuutta, mutta ensin sellainen - sekä
sen tarvitsema Linux-ympäristö - olisi hankittava jostain. Lainaaminen paikalli-
selta jälleenmyyjältä ei oikein käynyt päinsä, kun tuote oli varustettu pakolli-
sella nettirekisteröinnillä ja sen mukanaan tuomilla yksilöidyillä asennuskoo-
deilla. Eikä SDK:n omistajiakaan tuntunut puissa näillä kulmilla kasvavan.
Yksi Amiga SDK löytyi kuitenkin kotimaisen Gentle Eye Ky:n varastosta, joten pe-
lastavaksi enkeliksi päätti ryhtyä päätoimittajamme Anu Seilonen, joka iski tis-
kiin tarvittavat 850 markkaa, että pääsisimme ihmettelemään uutuutta. Kiitos,
Anu! Aina yhtä avulias Gentle Eye tuki projektia osaltaan kattamalla postikulut,
{8ja niinpä pääsimme sorvaamaan systeemiä PC-laitteistoon, johon allekirjoittanut
{8hankki juuri sopivasti uuden kiintolevyn, verkkokortin ja RedHat Linuxin. Seik-
{8kailu pääsi alkamaan...
Tuhti paketti purtavaa
----------------------
{8Amiga SDK toimitetaan punai-
{8sessa, varsin tuhdissa, 19 x
{825 x 4 cm pahvilaatikossa,
{8jota koristaa kannessa kes-
{8keneräinen Boing-pallo ra-
{8kennusnostureineen ja kään-
{8töpuolella kehikosta harmaa-
{8sävyjen kautta punaväreihin
{8kasvava Boing. Sanat Amiga,
{8Software Development Kit ja
{8So The World May Know -isku-
{8lause ovat myös näkyvästi
{8esillä. Takakannen lyhyen
{8myyntipuheen päättävät sanat
{8"Today, you can help shape
{8the Amiga of tomorrow." Pa-
{8ketin yleisilme on väreistä
{8huolimatta aika synkkä ja
{8yksityiskohdaton, ja Amiga
{8lupaileekin seuraavan versi-
{8on tulevan kirkkaammissa sä-
{8vyissä.
Paketin yksityiskohtainen kuvaileminen suotakoon anteeksi, onhan viime vuosina
tottunut siihen, että kaikki missä lukee Amiga on lähinnä puettu päälle, juotu
tai muuten vain elänyt ulkoisilla meriiteillään. :-) Tällä kertaa sisältä löytyy
kuitenkin jotain muutakin kuin vain ilmaa tai rompun puolikas. Nimittäin "pakol-
lisen", ylisuuren Get Boinged -tarran, parin referenssilapun ja yhden CD-ROM-le-
vyn lisäksi SDK toimitetaan tukevan 300-sivuisen ohjekirjan kera. Paksun manus-
kan psykologinen vaikutus on yllättävä, jotenkin tuo paperi tuntuu niin paljon
heppoisia PDF-tiedostoja konkreettisemmalta. Eipä silti, on manuskan jatkeena
niitä online-dokumenttejakin.
Ohjekirja on alkutekstien mukaan kirjoitettu kokonaan Amigalla, mm. Final Write-
rin, Ghostscriptin ja Deluxe Paintin avulla. Eipä siinä mitään, valitettavasti
vain bittikarttakuvia tuottavan ohjelman jälki näkyy kirjan kaaviokuvituksessa
amatöörimäisenä pikselöitymisenä. Muuten värikkäisiin kansiin kääritty ohjekirja
täyttää ulkoiset mittavaatimukset, ja sisältökin tuntuu olevan pääasiassa asiaa,
mitä nyt muutamat pakolliset painovirheet ovat kiireessä päässeet mukaan. Muuta-
mia Classic Amiga -viitteitä lukuunottamatta ohjekirja keskittyy pääasiassa Taon
toimittaman teknologian ylimalkaiseen selittämiseen. Puutteista huolimatta on
erittäin positiivista, että mukaan mahtui oikea ohjekirja.
Kaiken kaikkiaan SDK 1.0 on ulkoisesti sangen onnistunut, etenkin muutaman kuu-
kauden ikäisen yrityksen tuotokseksi. Kyllä sen kelpaa hyllyynsä nostaa ja kave-
rillekin näyttää. Get Boinged -tarra on liian iso koneen etupaneeliin, sillä
voisi peittää melkein puolet pienestä näytöstä, joten ehkäpä se on tarkoitettu
kookkaan jenkkiauton takapuskuriin. Tai jotain. Jos tarrasta jotain täytyy
päätellä, niin selvästi sillä on yritetty hieman kosiskella promokrääsää rakas-
tavaa Amiga-yhteisöä... sillä mitä olisikaan nyky-Amiga ilman tarroja? :-)
{F ---------->
{FRakennusalustana PC
{F-------------------
Amiga SDK piti alkujaan julkaista osana Amigan developer-konetta, johon se olisi
ollut valmiiksi asennettuna. Keväällä Amiga-yhteisön paine pakotti kuitenkin
Amigan muuttamaan suunnitelmaa - liian monella oli jo valmis laitteisto, eikä
porukka halunnut ostaa uutta. Niinpä SDK julkaistiin ensiksi rompulla, ja vasta
sittemmin Amigan yhteistyökumppanit ovat alkaneet valmistaa d'Amiga-nimellä kul-
kevia kehitystyöasemia, jotka käytännössä ovat tietyt Amigan määrittelemät spek-
sit täyttäviä Linux-PC-laitteita SDK:lla ja Amigan kehittelijätuella varustettu-
na.
Erillisenä toimitettava Amiga SDK asentuu siis "mihin tahansa" x86-pohjaiseen
Linux-mikroon, joka täyttää seuraavat vaatimukset: RedHat Linux 6.1 ja Xfree86
(tulee RedHatin mukana), 32 Mt muistia (suositus 64 Mt), 100 Mt kiintolevytilaa
ja verkkokortti. Käytännössä ensin mainitussa vaatimuksessa voi joustaa kikkai-
lemalla (kuten mekin jouduimme tekemään), mutta esimerkiksi verkkokortti konees-
sa täytyy olla asennuksen aikana, vaikka varsinaista verkkoyhteyttä ei oikeasti
tarvitakaan.
d'Amiga-kehityskoneet toimitetaan 500 megahertsin AMD K6-2 -suorittimella, Mat-
roxin G400-näytönohjaimella ja 128 megatavun muistilla. Oma asennusympäristömme
oli hieman vanhempi, 333 megahertsinen K6-2, jossa Creativen Riva TNT -näytönoh-
jain ja 128 Mt muistia. Mikään erityinen vaatimus AMD:n suoritin ei tietenkään
ole, vaan SDK:n pitäisi kyllä asentua melkein missä tahansa modernissa PC:ssä,
jossa ohjelmistopuoli on vaaditulla tolalla. Jatkoa ja päivityksiä ajatellen
Amigan yhteistyö Matroxin kanssa voi tosin suosia Matroxin näytönohjainten omis-
tajia, mutta toistaiseksi sillä ei ole väliä.
Alleviivattakoon kuitenkin vielä tätä faktaa: Amiga SDK on kehitysympäristö seu-
raavan sukupolven Amiga-käyttöjärjestelmälle, ja tuo kehitysympäristö toimii
PC-laitteistolla - vanhaan Amigaan sitä ei voi (ainakaan ilman emulaattoreita)
asentaa. Tilannetta voi jokseenkin rinnastaa siihen, että alkuperäisen Amigan
käyttöjärjestelmää kehitettiin Sun-työasemilla. Syy kehitysympäristön osalta
PC:n valmintaan on edullinen hinta, yleisyys ja Linuxin kohdalla taas työkalujen
saatavuus. SDK:sta on tosin tulossa myös Windowsin päällä pyörivä versio nyt lo-
kakuussa.
{FAsennusten kautta voittoon
{F--------------------------
Testikoneeseemme, jota pyöritti tavalliseen tapaan Windows 98, asennettiin Win-
dowsin rinnalle RedHat Linux 6.2 -käyttöjärjestelmä. Linuxeja voi kopioida il-
maiseksi netistä, ja niitä kaupitellaan vähän joka kaupan hyllyllä R-kioskeja ja
ruokakauppojen lehtipisteitä myöten. Amiga SDK:n laitteistovaatimuksissa vaadit-
tiin RedHatin versiota 6.1, mutta koska osuvasti oli paikallisesta lehtihyllystä
tarttunut mukaan Linux-käyttäjä-lehti ja sen mukana RedHat 6.2, päädyimme
käyttämään varoituksista huolimatta päivitettyä versiota.
Osasimme odottaa ongelmia, mutta apua tuli sangen yllättävältä taholta - ni-
mittäin IBM:n DeveloperWorks julkaisi pari artikkelia aiheesta ja itse asiassa
kehaisi SDK:ta muutamaan otteeseen (ks. URL-viitteet artikkelin lopussa). Yksi
näistä Daniel Robbinsin kirjoittamista artikkeleista sisälsi myös asennusohjei-
ta, jotka ohjaisivat meidät pahimpien karikoiden ohitse.
Ensin oli kuitenkin selvitettävä Amigan kryptinen rekisteröintiprosessi: kannat-
taa lukea huolella SDK:n mukana tuleva Installation Guide -lappunen, jonka avul-
la saa tarvittavat asennuskoodit. Varsinaiset koodit ovat pitkiä, joten älä tur-
{7haa tuhlaa meidän tapaamme aikaasi yrittämällä syöttäää asennusohjelmaan ensin
{7saamaasi lyhyttä numerosarjaa.
{7Koodeja kertyy yhteensä vaiheittain kolme parikymmenmerkkistä, mutta onneksi
{7niiden hankkiminen ja rekisteröinti voitiin tehdä webistä irrallaan asennukses-
{7ta, sillä emme saaneet Internetiä toimimaan Linuxista. Sen sijaan verkkokortin
{7täytyy olla asennettuna, vaikka siihen ei mitään olisikaan kytketty - asennusoh-
{7jelma nimittäin luo yhden asennuskoodeista verkkokortin jotakuinkin yksilöllisen
{7tunnisteosoitteen mukaan.
{7Meidän tapauksessamme halpa D-Linkin DE-528CT riitti tarkoitukseen, ja sittemmin
{7se voitiin irroittaa koneesta SDK:n asiasta häiriintymättä. Myöhemmin koneeseen
{7itse asiassa vaihdettiin tehokkaampi verkkokortti, jota Linux ei tunnistanut,
{7mutta SDK ei jo asennettuna ollut asiasta enää kiinnostunut.
{7Asennusohjelma ei myöskään tykännyt käynnistyä oikein KDE-desktopilta (joka oli
{7RedHatiimme valittu), vaan kadotti kuvat ja lisenssitekstit. Ongelma korjaantui
{7käynnistämällä ohjelma shellistä. Helpotus oli melkoinen, kun rekisteröintirum-
{7ban ja Linuxin viilaamisen
{7jälkeen asennusohjelma sit-
{7ten sutjakasti alkoi kopi-
{7oida tiedostoja paikoilleen
{7ja mukisematta sekä yllät-
{7tävän nopeasti suoriutui
{7tehtävästään. Eipä tosin
{7CD:llä hirveästi kopioita-
{7vaa ollutkaan - koko le-
{7vylle on painettu vain 27
{7megatavun edestä dataa.
{FSäätäjän unelma-asennus?
{F------------------------
Seuraavat asennustekniset yksityiskohdat kannattaa ohittaa, mikäli ei itse pai-
niskele niiden kanssa. Pureudumme SDK:hon yleisemmällä tasolla niiden jälkeen.
Toisaalta jos kaipaat tarkempaa teknistä selvitystä seuraaviin vinkkeihin, kan-
nattaa lukea niiden alkuperäislähde, Daniel Robbinsin SDK-artikkeli IBM Develo-
perWorks-saitilta, sekä tutustua epäviralliseen Amiga SDK -sivustoon osoitteessa
http://www.amigasdk.com.
Mainitsimme edellä asennusongelmat, joita laitteistovaatimuksia kiertävä
väistämättä kohtaa. Muutama kikkakolmonen tuli meilläkin tarpeeseen. Tärkein on-
gelma koskee RedHat 6.2:n käyttämää ncurses-kirjaston versiota, jonka kanssa SDK
on epäyhteensopiva ja kaatuu käynnistysyritykseen. Ratkaisu on hakea FTP:llä
osoitteesta ftp.gnu.org tiedosto "pub/gnu/ncurses/ncurses-4.2.tar.gz" ja purkaa
se Linuxissa komennolla "tar xzvf ncurses-4.2.tar.gz". Tämän jälkeen tulee siir-
tyä ncursesin hakemistoon ja suorittaa seuraavat komennot, yksi kerrallaan:
"./configure --with-shared --prefix=/usr/amiga", "make" ja lopuksi "make ins-
tall".
Edellä mainittu Daniel Robbinsin suosittelema komentosarja asentaa RedHatin
ncursesin rinnalle standardin mukaisen ncurses-kirjaston. Jotta SDK käyttäisi
sitä, pitää vielä joka kerta ennen sen käynnistämistä naputella käynnistysshel-
liin komento "export LD_LIBRARY_PATH=/usr/amiga/lib". Tämän jälkeen Amiga-
ympäristön käynnistävät "intent_media" ja "intent_shell" todistettavasti toimi-
vat myös RedHat 6.2:lla. Ja pitihän sitä kokeilla ilmankin - ei toiminut. RedHat
6.1:tä emme ole testanneet, mutta ilmeisesti sillä ongelmaa ei ilmene.
Toinen ongelma koski graafista terminaalia, etermiä, joka ei yksinkertaisesti
toiminut - tällä kertaa ihan Amigan skriptausvirheen vuoksi. Robbinsilla oli
lääke myös tähän vaivaan: Amiga-ympäristön shellissä naputeltiin komennot "cd
/dev/ave/dsk/eterm" ja "touch rc" sekä sen jälkeen käynnistettiin editori "jove
rc", poistettiin seuraavat rivit ja tallennettiin tiedosto. Tämän jälkeen, taas
kerran todistettavasti, myös eterm lähti toimimaan moitteetta.
case -- ${!hostparms command!c} ~
{0} {
ja lopusta
} ~
{*}
eval -- ${!hostparms command}
}
Robbinsin mukaan RedHat ei oikeasti ole vaatimus SDK:n asentamiselle, vaan myös
muut Linuxit kelpaavat kehitysympäristön alustaksi. Internetistä onkin kantautu-
nut tietoja esim. SuSE Linuxin onnistuneesta käytöstä SDK:n kanssa. Mikäli asen-
nus kuitenkin tökkii, voi seuraavasta olla apua: Keskeytä asennusohjelma Ctrl-
Z:lla (terminaalissa josta käynnistit ohjelman) sen jälkeen kun se on dekryptan-
nut SDK:n RPM-paketit kiintolevylle. Kopioi sitten .rpm-tiedostot /tmp-hakemis-
tosta sopivaan paikkaan ja suorita kullekin komento "rpm -i --nodeps tiedos-
to.rpm". Tämän jälkeen voit jatkaa asennusohjelman suoritusta ja asennuksen
pitäisi sujua mallikkaasti loppuun. Tätä vinkkiä emme kuitenkaan joutuneet ko-
keilemaan.
SDK:n pitäisi toimia RedHat Linux 7.0:n kanssa ilman edellä mainittuja ncurses-
ongelmia, mutta RedHat seiskan kanssa ilmenee kuitenkin grafiikan sekoamisongel-
mia, kun Elate-ikkunan päälle siirretään jokin muu Linux-ikkuna. Ongelman syy on
rinnastettavissa Classic Amigan simple ja smart refresh -virkistyksiin. Pulma
ratkeaa käynnistämällä X-palvelin komennolla "startx -- +bs". Jos taas järjes-
telmäsi käynnistää suoraan X Window Systemiin, kokeile muuttaa tiedostosta
"/etc/X11/gdm/gdm.conf" rivi "0=/usr/bin/X11/X" muotoon "0=/usr/bin/X11/X +bs"
(vain super-user voi päivittää tiedostoa). Vastaavaan ongelmaan voi törmätä myös
SuSE Linuxin kanssa, jossa se ratkaistaan lisäämällä "+bs" tiedoston
"/etc/X11/xdm/Xservers" rivin ":0 local /usr/X11R6/bin/X :0 vt07" loppuun.
http://www.amigasdk.com:ssa on asennusohjeita myös Linux Mandrakelle ja Debia-
nille.
{FEnsikosketus uuteen Amigaan
{F---------------------------
Ehdimme edellä kiirehtää jo hieman asioiden edelle, mutta vuosien odottelun
jälkeen oli kova hoppu päästä tutustumaan uuden Amigan sielunelämään. Asennuksen
jälkeen komennolla "intent_media" käynnistyy uusi "AmigaOS" sellaisena kuin se
SDK:n mukana toimitetaan. Linuxin työpöydälle aukeaa kirkassävyinen ikkuna, jo-
hon putkahtelee muutamalla valikon vedolla Boing-palloja, väriefektejä ja monen-
laista graafista kilkettä.
Nopeasti käy kuitenkin ilmeiseksi, että uusitun Boing-demon ja muiden hilavit-
kuttimien merkitys jää sangen vähäiseksi. Minkäänlaista seuraavan sukupolven
käyttöliittymää tai työpöytää ei vielä ole tarjolla, vaan SDK 1.0 perustuu
lähinnä englantilaisen Tao Groupin toimittamaan Amiga Foundation Layeriin eli
Elate-reaaliaikakäyttöjärjestelmän ja Intent-kirjastojen ja viimeksi mainitun
J-Engine-Java-virtuaalikoneen tarjoamaan perustaan. (Jotta nimisotku olisi
täydellinen, yhdessä Elatea ja Intentiä kutsutaan myös nimellä Intent Java Tech-
nology Edition).
Elaten ja Intentin vahvuudet, ja uuden Amigan peruskivet, ovat virtuaaliproses-
sori, jolla samaa ohjelmakoodia voidaan ajaa useilla eri suorittimilla, sekä
huippunopea Java-virtuaalikone, jonka väitetään peittoavan kaikki muut ja joka
sekin tarjoaa alustan laitteistoriippumattomille ohjelmille.
Vaikka ohjekirjassa onkin korvattu suurin osa Elate-sanoista Amigalla, törmää
nimeen Elate kuitenkin vielä joka paikassa. Hyvin paljon SDK 1.0:sta on siis
tullut suoraan Taolta. Myös online-dokumentaatio, yli tuhat sivua PDF-tiedosto-
ja, puhuu pelkästään Elatesta.
Tarjolla ovat siis uuden Ami-
gan peruspalikat Intent JTE:n
muodossa ja Taon toimittamat
käyttöliittymäelementit (Ami-
gan oma, seuraavan sukupolven
BOOPSI, työnimeltään BOOPS,
on tulossa), jotka jäävät lä-
hinnä kehitysympäristön apu-
välineiksi - edes 3D-kirjas-
toja tai kunnollista äänitu-
kea ei vielä ole tarjolla,
tulossa kylläkin. Todellinen
SDK:n arvo piilee toistaisek-
si nimenomaan mahdollisuudes-
sa tutustua uuden AmigaOS:n
(eli Elaten) perusperiaatteisiin,
eli virtuaaliprosessoriin ja sen
suomiin mahdollisuuksiin. Linuxin
päällä pyörivä kehitysympäristö
antaa myös esimakua järjestelmän
joustavuudesta: uutta Amigaa voidaan tulevaisuudessa paitsi käyttää monella eri
koneella, myös natiivikäytön lisäksi ajaa Linuxin tai Windowsin päällä.
Eikä uusi SDK pelkkä lelu ole, sillä kyllä siitä on ihan vakavaankin ohjelmisto-
kehitykseen. Mukana toimitetaan työkalut niin C/C++ -, Java- kuin uuden Amigan
virtuaaliprosessorin assembler-ohjelmointiinkin. Ohjekirja käsittelee kaikkia
näitä kolmea aihetta ja tarjoaa selityksiä myös valinnanvaraan: C/C++ ovat
omiaan olemassaolevien ohjelmien porttaamiseen, Java on alati kasvava laitteis-
toriipumaton standardi ja parhaisiin nopeustuloksiin päästään ohjelmoimalla suo-
raan Amigan (eli Taon) virtuaaliprosessoria.
{FJuju on virtuaaliprosessorissa
{F------------------------------
Vaikka Java vilahtelee jatkuvasti Amigan tiedotteissa ja suunnitelmissa, alkaa
hiljalleen vaikuttaa siltä, että se todellinen vallankumouksellisuus uudessa
Amigassa piilee kuitenkin sen laitteistoriippumattomassa virtuaaliprosessorissa
ja laitteistoabstraktiossa. Kaikkia uudelle Amigalle tehtyjä ohjelmia voidaan
teoriassa ajaa millä tahansa koneella, pienellä tai suurella. Eipä siis ihme,
että Amiga on demonnut systeemiään jo monenlaisilla taskulaitteilla, pelikonso-
leilla ja kotimikroilla. Jopa PowerPC-pohjaisia Classic Amigoita tullaan mahdol-
lisesti tukemaan - tässä auttanee yhteistyökumppani Haage & Partner.
Amiga SDK 1.0 antaa mahdollisuuden päästä ohjelmoimaan näitä laitteistoriippu-
mattomia ohjelmia ensimmäisten joukossa. Kehitysympäristöä tullaan päivittämään
sitä mukaa kuin Amigan suunnitelmat valmistuvat, mutta jo nyt on Internetissä
lukuisia pieniä ohjelmia, joita on käännetty uudelle Amigalle. Jahka ensimmäiset
varsinaiset seuraavan sukupolven Amiga-laitteistot ilmestyvät, liikkuu ohjelmien
määrä varmasti jo kymmenissä, ellei sadoissa. Monet Classic Amigan kehittelijät
ovat hypänneet kelkkaan SDK:n myötä, esim. Wildfireä käännetään uudelle Amigalle
nimellä Taifun, ja pelivalmistaja Hyperion on yksi Amigan tärkeimmistä yhteis-
työkumppaneista.
Uuden Amigan menestys riippuu tietysti paitsi ohjelmistokehittäjien tuesta, myös
siitä, kuinka onnistunut virtuaaliprosessori käytännössä on. Amigalta vakuutel-
laan sen nopeutta ja loistavuutta, ohjelmakoodi kun käännetään tulkkaamisen si-
jaan jo latausvaiheessa käytetyn prosessorin natiivikoodiksi ja laitteistoabst-
raktiota voidaan täydentää laitespesifisillä ajureilla, mutta vain aika näyttää.
Toistaiseksi SDK:n mukana toimitetut demot tuntuivat pyörivän kohtuullisesti,
ajettiinhan niitä Linuxin päällä ja ilman 3D-kiihdytystä, mutta vielä lopulli-
sesta vauhdista on mahdoton esittää arvioita.
SDK:n omaavat voivat vertailla oman laitteistonsa benchmark-tuloksia seuraaviin
SDK:n speed-komennon testikoneellamme antamiin tulosteisiin:
Amiga 1.0:/$ speed
VP MIOPS = 415.119007
VP MLOPS = 74.703084
VP MFOPS = 25.349671
VP MDOPS = 21.904094
Amiga 1.0:/$ speed
VP MIOPS = 414.470022
VP MLOPS = 74.558401
VP MFOPS = 25.440361
VP MDOPS = 21.888292
Luvut vaihtelivat hieman ajokerrasta riippuen. Tietysti jos samaan aikaan ajoi
jotain muita ohjelmia, tulokset romahtivat radikaalisti.
{FEntä kulissien takana?
{F----------------------
Pomppivien Boing-pallojen ja visuaalisten efektien alta paljastuu muutaman kym-
menen megan edestä raakaa dataa ja karuja kehitystyökaluja. On epäselvää, kuinka
hyvin SDK:n hakemistorakenne kuvastelee lopullista uuden Amigan hakemistoraken-
netta (voi olla ettei niillä ole paljoakaan yhteistä tai sitten on), mutta SDK:n
tiedostojärjestelmä on jaoteltu seuraavasti:
app/ sovellusohjelmat
ave/ multimediatyökalut (Audio Visual Environment/Amiga Multimedia Toolkit)
com/ Java-luokat, käyttäen standardia Javan pakettien nimiavaruutta
demo/ esimerkkiohjelmat
dev/ laiteajurit
etc/ TCP/IP-verkko ja verkkoasetukset
fonts/ TrueType- ja PostScript 1 -kirjasimet
home/ käyttäjän kotihakemisto
java/ Java-kirjastot
lang/ ohjelmointikielet
lib/ yleiset kirjastot
sounds/ äänijärjestelmä
sys/ järjestelmähakemisto
Amigan mahtipontisessa kielenkäytössä he puhuvat uudesta digitaalisen tiedon
maailmankaikkeudesta, Amiversestä, jossa ei perinteisiä tiedostoja enää kaivata
ollenkaan, mutta kovasti tiedostopohjaiselta alusta ainakin vaikuttaa. Itse
asiassa tiedostojen sijoittelu on ohjelmia asennettaessa tarkkaa puuhaa: kompo-
nenttien sijainti on usein kiinnitetty, ja ne toimivat vain juuri oikeasta pai-
kasta. Amigan oma tiedostojärjestelmä latautuu SDK:n tapauksessa Linuxin käyn-
nistyshakemiston päälle. Täten ko. hakemiston sisältö ja alihakemistot ovat
käytettävissä Amigalta, ja sinne tallentuvat myös Amigan tiedostojärjestelmään
tallennetut muutokset.
Ohjelmien käynnistystapa oli perinteiseen Amiga-tapaan tottuneelle hieman eri-
koinen. Ajettavat tiedostot on nimetty .00-päätteellä, esim. boing.00, mutta ne
käynnistetään ilman tuota päätettä - hieman kuten Windows/MS-DOS-ympäristössä
EXE-päätettä ei tarvitse antaa. Erikoisen päätteen merkitys paljastuu arkkiteh-
tuuria tutkiskeltaessa: 00 ilmaisee koodin olevan virtuaaliprosessorin koodia,
kun taas jokin suurempi numero ilmaisi ohjelmakomponentista löytyvän myös pro-
sessorinatiivin version, jota järjestelmä automaattisesti käyttäisi ao. proses-
sorilla. Esimerkiksi pääte .24 tarkoittaisi Pentium II:lle optimoitua koodia.
Itse asiassa Taon tarjoaman pohjakerroksen tapa käsitellä ohjelmakomponentteja
on sangen elegantti: siinä missä normaalisti esimerkiksi ohjelman luokka lada-
taan muistiin, se ladataan kokonaan riippumatta siitä, kuinka suurta osaa siitä
käytetään. (Amigalta esitettiin 80-20-sääntöä: yleensä luokasta käytetään vain
20% ja 80% ladataan muistiin ihan turhaan.) Uusi Amiga paloittelee kaikki ohjel-
makomponentit työkaluiksi (tools), joita sitten ladataan vain tarpeen mukaan. Ja
koska jokaisesta työkalusta voi olla virtuaaliprosessoriversion lisäksi natiivi
prosessori/lisälaitekohtainen versio, voidaan nopeutta hioa hyvin yksityiskoh-
taisella tasolla mutta taata silti perusyhteensopivuus kaikkien laitteiden kans-
sa.
{FOhjelmointiympäristöt
{F---------------------
Vaikka Amiga SDK on ensikurkistus uuden Amigan sielunelämään ja sellaisenaan
mielenkiintoinen kiertoajelu ihan Amigasta yleensäkin kiinnostuneelle, sekä
hyödyllinen teknologiaesittely asiaan vihkiytyneille, niin ohjelmointiinhan se
kuitenkin ensisijaisesti on tarkoitettu. Vaikka työkalut ja ympäristö ovat vielä
pohjamutia lukuunottamatta hyvin keskeneräisiä, tällä paketilla ja sen seuraa-
jilla on tarkoitus taata, ettei seuraavan sukupolven Amiga ilmesty markkinoille
ilman runsasta ohjelmistotukea.
Kuten edellä jo ohimennen mainittiin, kehitystyökalut jakautuvat kolmeen
ryhmään: C/C++ -kääntäjä perinteisten ohjelmien porttaamiseen ja yleiseen kehi-
tystyöhön, Java-ympäristö Java-pohjaiseen laitteistoriippumattomaan ohjelmoin-
tiin ja VP-assembleri virtuaaliprosessorin pilkuntarkkaan ja nopeaan viilaami-
seen. Modernit, integroidut ohjelmointiympäristöt ovat vasta työn alla, mutta
hardcore-kooderi ja Unix-guru tuntee olonsa varmasti kotoisaksi.
C/C++ -ympäristö perustuu GNU:n GCC-projektiin ja tuottaa virtuaaliprosessorin
assemblerin ymmärtämää koodia, joka sitten käännetään virtuaalibinääriksi. Ainoa
ongelma tässä on, että koko C/C++ -ohjelma kääntyy vakiona yhdeksi edellä maini-
tuksi työkaluksi, joten parasta mahdollista järjestelmän tarjoamaa nopeusetua ei
suoraan saavuteta. Ongelma voidaan kuitenkin ratkaista tekemällä itse C/C++:lla
uusia työkaluja. Tarjolla on myös yli 6500 valmista työkalua, mm. ANSI/C-kutsut.
C/C++ -koodin sekaan voi toki ympätä myös assembleria - menetelmä, joka lienee
monille Classic Amiga -kooderillekin sangen tuttu.
Java-ympäristö on Taon kehittämä ja tukee edellä mainittua työkalumallia siten,
että kaikista metodeista tehdään omia työkalujaan. Tämä lienee yksi perustavan-
laatuinen syy siihen, että Java-koodi todellakin pyörii järjestelmällä sangen
vikkelästi. Komentorivipohjainen Java-kääntäjä on syntaksiltaan identtinen Sunin
SDK:n kanssa, joten perinteisillä Java-työkaluilla ohjelmoineet pääsevät alkuun
ilman sen suurempaa ihmettelyä. Mukana on myös oma versio Applet Vieweristä.
Kolmantena kehitysympäristönä on virtuaaliprosessorin VP-nimellä kulkevaa as-
sembler-kieltä ymmärtävä kääntäjä. VP:llä voidaan rakentaa uusia työkaluja esi-
{Fmerkiksi C-ohjelmien käyttöön tai sillä voidaan tehdä kokonaisia ohjelmia, jois-
{Fta SDK:n mukana toimitetaankin muutamia esimerkkejä.
{FKäyttöympäristöksi SDK:n mukana tarjotaan uutta Amiga Shelliä, joka on toimin-
{Fnallisesti Unixin zsh:ta vastaava. Ohjelmien käynnistämistä varten "työpöydällä"
{Fon lisäksi Windowsin Käynnistä-valikon (Start) yksinkertainen vastine. Tekstie-
{Fditoreiksi tarjotaan komentorivi-ediä sekä Emacs-tyylistä Jovea. Tietysti koodia
{Fvoi vääntää Linux-puolella millä tahansa editorilla.
{FMitä SDK:lla sitten voi tehdä?
{F------------------------------
Selkeästä ja avoimesti myönnetystä keskeneräisyydes-
tään huolimatta Amiga Software Development Kit 1.0
osoittautui ehdottomasti postiiviseksi kokemukseksi.
Virtuaaliprosessori ja AVE ovat jo siinä vaiheessa,
että ohjelmoinnissa pääsee hyvään alkuun, ja järjes-
telmän uudet käsitteet kuten työkalut tulevat tutuik-
si. Toisaalta jos haluaa olla etunenässä kokeilemassa
uudelle Amigalla kehiteltyjä ohjelmia, on SDK tois-
taiseksi ainoa tapa.
Internetiin onkin jo ilmestynyt useita ohjelmia, joita SDK:lla on parsittu ka-
saan. Seuraamme Suomen Amiga-käyttäjät ry:n kotisivuilla uuden Amigan orastavaa
ilmaisohjelmatarjontaa kokeiluluontoisesti vuoden loppuun saakka viikon namupa-
lojen muodossa. Esittelemme siis joka viikko yhden Amiga SDK:lla kehitetyn il-
maisohjelman osoitteessa http://batman.jytol.fi/~saku/ tai http://tzimmo-
la.tky.hut.fi/saku/.
Amiga SDK:n mukana tulee myös Intentin J-Engine, erittäin nopea Java-virtuaali-
kone, jolla sopii pyöritellä Java-sovelluksia ja -sovelmia lupausten mukaan kii-
tettävällä nopeudella. Amiga onkin mukana devicetop.com-portaalihankkeessa, joka
tarjoaa levityskanavia ja foorumeita Java-ohjelmille ja -ohjelmoinnille. Amiga
SDK:sta pitäisi siis Java-ohjelmienkin saada uutta potkua. Muutamat kokeilut so-
velmien (applet) kanssa tuottivat tosin lähinnä harmaita hiuksia: ne eivät suos-
tuneet käynnistymään.
{F ---------->
Mainittakoon lopuksi vielä Amigan jo useita kertoja ilmoittama virhe SDK:n li-
senssiehdoissa: Amigalle ei tarvitse maksaa rojalteja ohjelmien tekemisestä tai
myynnistä, vaikka lisenssiehdoissa näin virheellisesti sanotaankin. Sen sijaan
Amiga tulee aikanaan tarjoamaan vapaaehtoista, maksullista "Amigan tukema ohjel-
ma" -markkinointikampanjaa. Vastaaviahan on Microsoftilla ja monilla muilla, to-
sin Amiga lupailee ehtojensa olevan reilumpia. Korjattu lisenssiteksti löytyy
osoitteesta:
http://www.amigadev.net/index.php?sid=&subpage=home&function=legal
{FNimien taikaa
{F-------------
Joka tapauksessa toivoa sopii, että lopullisen uuden AmigaOS:n (tai miksi sitä
sitten kutsutaankaan) ilmestyessä teknologian ja tuotemerkkien nimeäminen on
kiinnitetty ja yhtenäistetty. Pää menee pyörälle jo pelkästä nimilistojen tavai-
lusta, kun Taolla on tuotteilleen monta, osin päällekkäistä nimeä, Amigalla on
samoille nimille synonyymit, ja sitten on vielä joukko uusia ja vanhoja tuoteni-
miä.
Yritetään vielä kerran saada jotain selkoa tästä: Uusi Amigan käyttöjärjestelmä
ja sen ympäröimä digitaalisen tiedon ja saumattoman laitteiston yhteispelin nimi
on Amiga DE eli Amiga Digital Environment, koodinimeltään Ami, joka lausutaan
Amie. Amiga DE:n pohjalla laitteiston päällä on Amiga Foundation Layer eli Tao
Groupin Intent Java Technology Edition, joka siis sisältää Intent-kirjastot
(jotka sisältävät J-Engine-Java-virtuaalikoneen) ja Elate-reaaliai-
kakäyttöjärjestelmän.
Osa Amiga Foundation Layeria (AFL) on AVE eli Audio Visual Environment eli Amiga
Multimedia Toolkit, ja Amiga kehittää uusia osia tähän kerrokseen, mm. AOM eli
Amiga Object Model. BOOPS taas on Classic Amigalta portattujen BOOPSI-
käyttöliittymäkirjastojen koodinimi. AFL:n päällä on Amiverse Layer, lyhyesti
vain Amiverse, eli digitaalisen tiedon kerros, joka on Amiga DE -piirakan täysin
laitteistosta ja tiedon teknisestä luonteesta piittaamaton digitaalisen infor-
maation leikkikenttäkerros.
AmigaOne sitten on ensi vuoden ensimmäisellä neljänneksellä julkaistava Amiga
DE:hen perustuva tietokone. Ja Amiga SDK (Software Development Kit), kuten lie-
nee jo selvää, on tämän nimihässäkän ohjelmistojen tämänhetkinen kehity-
sympäristö. d'Amiga taas on SDK:ta varten kerätyn spesifikaation mukaan raken-
nettu Linux-PC, joka sisältää SDK:n.
Nimitystä AmigaOS ei uudesta Amiga-käyttöjärjestelmästä kenties käytetä lain-
kaan. Myös Gatewayn ajoilta tuttua AmigaOE-nimitystä (Operating Environment) on
väläytelty erinäisissä foorumeissa, mutta Amiga DE lienee sen korvaava ilmaus.
Kysyttävää?
{FLinkkivinkkejä
{F--------------
Epäviralliselta Amiga SDK -sivustolta löydät paljon lisätietoa, linkkejä, yms.:
http://www.amigasdk.com
Amigan virallinen Amiga World -lehtinen valottaa taustoja muutaman kuukauden
välein:
http://www.amiga.com/press/zine/
IBM DeveloperWorksin Amiga SDK -artikkeli kertoo yksityiskohtia ja auttaa asen-
nuksessa:
http://www-4.ibm.com/software/developer/library/amiga2/index.html?dwzone=linux
Open Amiga -postituslista on keskustelufoorumi uudesta Amigasta kiinnostuneille:
sähköpostia osoitteeseen open-request@amiga.com, viestiin sana subscribe
Myös devicetop.comin Amiga-foorumit sisältävät keskustelua Amiga SDK:sta:
http://www.devicetop.com/dt/main
Valmiita vastauksia erinäisiin SDK:ta koskeviin kysymyksiin löytyy Amigan
FAQ:sta:
http://www.amiga.com/faq.html
Erityisen hyödyllinen poiminta SDK:n FAQ:sta sisältää ohjekirjan virheiden kor-
jauksia:
http://www.amiga.com/cgi-bin/fom.cgi?file=54&step=mainMenu
Amiga SDK:n tuotekuvaus:
http://www.amiga.com/products/SDK.shtml
Amigan virallinen developer-sivusto tarjoaa SDK:n omistajille tukea ja ohjelmia:
http://www.amigadev.net
Tao Group, uuden AmigaOS:n perustan luojat löytyvät osoitteesta:
http://www.tao-group.com
{F ---------->
{F Amiga Software Development Kit 1.0
Valmistaja: Amiga Inc., www.amiga.com
Edustaja: Gentle Eye Ky, www.ge.vip.fi, ge@vip.fi, puh. (03) 363 0048
Hinta: 850 mk
Testattu: AMD K6-2 333 MHz, RedHat Linux 6.2, 128 Mt muistia, 47 Gt
kiintolevytilaa, Creative Labs Graphics Blaster Riva TNT
-näytönohjain, D-Link DE-528CT-verkkokortti, Nokia Multi-
graph 449M -näyttö.
Kirjoittajan tavoittaa sähköpostitse osoitteesta siren@mikrobitti.fi.